home *** CD-ROM | disk | FTP | other *** search
/ Skunkware 5 / Skunkware 5.iso / lib / linuxdoc-sgml / bin / format next >
Text File  |  1994-06-23  |  2KB  |  125 lines

  1. #! /bin/sh 
  2.  
  3. # Author:  Tom Gordon and Alexander Horz
  4. # Date:    11-28-89
  5. # Last Modified:  29 Jan 93
  6.  
  7. # Modified by Matt Welsh to use linuxdoc.dtd
  8.  
  9. # Set to path of linuxdoc-sgml directory. This should be all you need to edit.
  10. LINUXDOC=/usr/skunk/lib/linuxdoc-sgml
  11.  
  12. SGMLS=$LINUXDOC/bin/sgmls
  13. SGMLSASP=$LINUXDOC/bin/sgmlsasp
  14. REPDIR=${REPDIR:=$LINUXDOC/rep} # default directory of replacement files
  15. USERREP=""
  16. SGML_PATH=${SGML_PATH:=$LINUXDOC/dtd/%N.dtd:$LINUXDOC/dtd/%P.dtd}
  17. export SGML_PATH
  18.  
  19. TYPE=latex              # default formatter 
  20. TABS="-8"              # expand replaces tabs with 8 spaces
  21. CHECK="no"              # don't just check SGML syntax
  22.  
  23. # The preprocessor has been removed.  Add a new tool for preproccesing
  24. # Author/Editor files made on the Mac, perhaps with a command line
  25. # option here to invoke it.
  26.  
  27. INCLUDE=""
  28. SGMLFILE=" "
  29. FILEROOT=" "
  30. PROGNAME=$0
  31. TF1=/tmp/$$1
  32.  
  33. TMPFILES="$TF1"
  34.  
  35. cleanup () {    # remove temporary files
  36.     for i in $TMPFILES
  37.     do
  38.         if [ -f $i ]
  39.         then
  40.             /bin/rm $i.sgml
  41.         fi    
  42.     done
  43. }
  44.  
  45. trap 'cleanup; exit 1' 1 2 3 9
  46.  
  47. usage () {
  48. echo "    format  [-c]        * just check syntax";
  49. echo "        [-T <format>]    * latex | nroff | grops | man ...";
  50. echo "        [-t <n>]    * tabstops each <n>th col (default 8)";
  51. echo "        [-r <filename>] * replacement file";
  52. echo "        <filename>    * .sgml extension is optional";
  53. exit 1 
  54. }
  55.  
  56. case "$1" in
  57.     "help" | "HELP" | "Help" | "-help") usage
  58. esac
  59.  
  60. set -- `getopt cr:T:t: $*`
  61.  
  62. if [ $? != 0 ]
  63. then
  64.     usage
  65. fi
  66.  
  67. for i in $*
  68. do
  69.         case $i in
  70.           -c)    CHECK="yes"; shift;;
  71.           -T)    TYPE=$2; shift; shift;;
  72.           -t)     TABS="-"$2; shift; shift;;
  73.           -r)       USERREP=$2; shift; shift;;
  74.               --)       shift;
  75.             break;;
  76.         esac
  77. done
  78.  
  79. if [ "$1" = "" ] 
  80. then
  81.        cat > $TF1.sgml     # write standard input to file
  82.     FILE=$TF1
  83. else
  84.     FILE=$1
  85. fi;
  86.  
  87. if [ -f $FILE.sgml ] 
  88. then
  89.     FILEROOT=$FILE
  90.     SGMLFILE=$FILEROOT.sgml
  91. elif [ ! -f $FILE ] 
  92. then
  93.     echo $PROGNAME: cannot find $FILE or $FILE.sgml  >&2
  94.     exit 1
  95. else
  96.     SGMLFILE=$FILE
  97.     FILEROOT=$FILE
  98. fi
  99.  
  100. # add the type specific entity files to SGML_PATH
  101.  
  102. SGML_PATH=$REPDIR/$TYPE/%N:$SGML_PATH
  103. export SGML_PATH
  104.  
  105. if [ $CHECK = "yes" ]
  106. then
  107.     $SGMLS -as $SGMLFILE > /dev/null
  108.     if [ $? = 1 ] 
  109.     then 
  110.         exit 1
  111.     else
  112.         exit 0
  113.     fi
  114. else
  115.     # format the document, writing to standard out
  116.     REP=$REPDIR/$TYPE/mapping
  117.  
  118.     $SGMLS $SGMLFILE | $SGMLSASP $USERREP $REP | expand $TABS
  119.  
  120. fi
  121.  
  122. cleanup
  123.  
  124. # end of format script
  125.